<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<!-- Copyright 1997 The Open Group, All Rights Reserved -->
<title>utimes</title>
</head><body bgcolor=white>
<center>
<font size=2>
The Single UNIX &reg; Specification, Version 2<br>
Copyright &copy; 1997 The Open Group

</font></center><hr size=2 noshade>
<h4><a name = "tag_000_010_322">&nbsp;</a>NAME</h4><blockquote>
utimes - set file access and modification times
</blockquote><h4><a name = "tag_000_010_323">&nbsp;</a>SYNOPSIS</h4><blockquote>
<pre><code>

#include &lt;<a href="systime.h.html">sys/time.h</a>&gt;

int utimes(const char *<i>path</i>, const struct timeval <i>times[2]</i>);
</code>
</pre>
</blockquote><h4><a name = "tag_000_010_324">&nbsp;</a>DESCRIPTION</h4><blockquote>
The
<i>utimes()</i>
function sets the access and modification times of the file pointed to by the
<i>path</i> argument to the value of the <i>times</i> argument.  The
<i>utimes()</i>
function allows time specifications accurate to the microsecond.
<p>
For
<i>utimes()</i>,
the <i>times</i> argument is an array of <b>timeval</b> structures.
The first array member represents the date
and time of last access, and the second member represents the date and time of
last modification.  The times in the <b>timeval</b> structure are measured in
seconds and microseconds since the Epoch, although rounding toward the nearest
second may occur.
<p>
If the <i>times</i> argument is a null pointer, the access and modification
times of the file are set to the current time.  The effective user ID of the
process must be the same as the owner of the file, or must have write access
to the file or appropriate privileges to use this call in this manner.  Upon
completion,
<i>utimes()</i>
will mark the time of the last file
status change, <i>st_ctime</i>, for update.
</blockquote><h4><a name = "tag_000_010_325">&nbsp;</a>RETURN VALUE</h4><blockquote>
Upon successful completion, 0 is returned.  Otherwise, -1 is returned and
<i>errno</i> is set to indicate the error, and the file times will not be
affected.
</blockquote><h4><a name = "tag_000_010_326">&nbsp;</a>ERRORS</h4><blockquote>
The
<i>utimes()</i>
function will fail if:
<dl compact>

<dt>[EACCES]<dd>
Search permission is denied by a component of the path prefix; or
the <i>times</i> argument is a null pointer and the effective user ID of the
process does not match the owner of the file and write access is
denied.

<dt>[ELOOP]<dd>
Too many symbolic links were encountered in resolving <i>path</i>.

<dt>[ENAMETOOLONG]<dd>

The length of the
<i>path</i>
argument exceeds {PATH_MAX}
or a pathname component is longer than {NAME_MAX}.

<dt>[ENOENT]<dd>
A component of <i>path</i> does not name an existing file
or <i>path</i> is an empty string.

<dt>[ENOTDIR]<dd>
A component of the path prefix is not a directory.

<dt>[EPERM]<dd>
The <i>times</i> argument is not a null pointer and the calling process'
effective user ID has write access to the file but does not match
the owner of the file and the calling process does not have the
appropriate privileges.

<dt>[EROFS]<dd>
The file system containing the file is read-only.

</dl>
<p>
The
<i>utimes()</i>
function may fail if:
<dl compact>

<dt>[ENAMETOOLONG]<dd>

Pathname resolution of a symbolic link produced an intermediate result whose
length exceeds {PATH_MAX}.

</dl>
</blockquote><h4><a name = "tag_000_010_327">&nbsp;</a>EXAMPLES</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_010_328">&nbsp;</a>APPLICATION USAGE</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_010_329">&nbsp;</a>FUTURE DIRECTIONS</h4><blockquote>
None.
</blockquote><h4><a name = "tag_000_010_330">&nbsp;</a>SEE ALSO</h4><blockquote>
<i><a href="systime.h.html">&lt;sys/time.h&gt;</a></i>.
</blockquote><hr size=2 noshade>
<center><font size=2>
UNIX &reg; is a registered Trademark of The Open Group.<br>
Copyright &copy; 1997 The Open Group
<br> [ <a href="../index.html">Main Index</a> | <a href="../xshix.html">XSH</a> | <a href="../xcuix.html">XCU</a> | <a href="../xbdix.html">XBD</a> | <a href="../cursesix.html">XCURSES</a> | <a href="../xnsix.html">XNS</a> ]

</font></center><hr size=2 noshade>
</body></html>
